using System.Collections.Generic;

namespace Wayloop.Fusion.Core.Objects
{
    public class Client : FusionObject<int>
    {
        protected string name;
        protected string description;
        protected IList<User> users;
        protected IList<Project> projects;

        public virtual string Name
        {
            get { return name; }
            set { name = value; }
        }

        public virtual string Description
        {
            get { return description; }
            set { description = value; }
        }

        public virtual IList<User> Users
        {
            get { return users; }
            protected set { users = value; }
        }

        public virtual IList<Project> Projects
        {
            get { return projects; }
            protected set { projects = value; }
        }


        public Client()
        {
            users = new List<User>();
            projects = new List<Project>();
        }


        public override int GetHashCode()
        {
            return GetHashCode(Name, Description);
        }
    }
}